/*
 * This file is part of Avenge <https://adblockplus.org/>,
 * Copyright (C) 2006-present eyeo GmbH
 *
 * Avenge is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Avenge is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Avenge.  If not, see <http://www.gnu.org/licenses/>.
 */

@import "io-steps.scss";
@import "io-highlighter.scss";
@import "io-highlighter-fixes.scss";

html
{
  font-size: 16px;
}

body
{
  display: flex;
  flex-direction: column;
  margin: 0rem;
  color: #494949;
  background-color: #F3F3F3;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1.25rem;
  align-items: center;
}

input,
button
{
  font-family: inherit;
}

header,
main,
footer
{
  width: 46.3rem;
}

header
{
  display: flex;
  flex-direction: row;
  margin-top: 1.2rem;
  margin-bottom: 2rem;
  align-items: flex-start;
}

header > .logo
{
  display: flex;
  flex-direction: row;
  margin-right: 3.5rem;
}

#logo
{
  width: 3.5rem;
  height: 3.5rem;
  margin-right: 1rem;
}

.title
{
  flex-direction: column;
}

.title > h1
{
  margin: 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.2rem;
}

.title > h1 > strong
{
  font-weight: 700;
}

.title > p
{
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  line-height: 1.8rem;
}

header io-steps
{
  flex-grow: 1;
}

main
{
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 1.4rem;
  border: 1px solid #CDCDCD;
  background-color: #FFF;
  flex-grow: 1;
}

.page:not([hidden])
{
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.page > p
{
  font-size: 0.9rem;
}

main h1
{
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
}

#typeSelectorGroup
{
  font-size: 1rem;
}

#typeSelectorGroup > label
{
  font-weight: 700;
}

#typeSelectorGroup > p
{
  margin-top: 0.5em;
  margin-bottom: 1em;
  font-size: 0.9rem;
}

#typeSelectorGroup > p:first-of-type
{
  margin-bottom: 30px;
}

html:not([dir="rtl"]) #typeSelectorGroup > p
{
  margin-left: 30px;
}

html[dir="rtl"] #typeSelectorGroup > p
{
  margin-right: 30px;
}

#anonymousSubmissionContainer
{
  margin-top: 0.5em;
}

#anonymousSubmissionWarning,
#error
{
  margin-top: 0.3em;
  margin-bottom: 1em;
  color: #C00000;
}

#comment
{
  min-height: 2em;
  flex-grow: 1;
}

#sendingProgressContainer:not([hidden])
{
  display: flex;
  flex-direction: row;
  margin-top: 2rem;
  justify-content: center;
}

#result
{
  border-width: 0px;
  flex-grow: 1;
}

#showDataValue
{
  overflow: auto;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1rem;
  padding: 20px;
  border: 1px solid #CCC;
  font-size: 1rem;
  flex-grow: 1;
}

footer
{
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  margin-top: 2rem;
  padding-bottom: 16px;
}

footer > div
{
  flex-grow: 1;
  align-self: flex-end;
}

#privacyPolicy
{
  font-size: 1rem;
}

#privacyPolicy,
#privacyPolicy:visited
{
  color: #077ca7;
}

/*
 * Generic styles
 */

[data-invisible="true"]
{
  visibility: hidden;
}

button
{
  padding: 0.8rem 1.2rem;
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  flex-shrink: 0;
}

html:not([dir="rtl"]) button
{
  margin-left: 0.5rem;
}

html[dir="rtl"] button
{
  margin-right: 0.5rem;
}

button.primary:not(.icon)
{
  border: 0px;
  color: #FFF;
  background-color: #077ca7;
}

button.primary:not([disabled]):not(.icon):hover
{
  box-shadow: inset 0 0 0 3px #005D80;
}

button.primary[disabled]:not(.icon)
{
  background-color: #5CBCE1;
}

button.secondary
{
  border: 1px solid #077ca7;
  color: #077ca7;
}

button.secondary:hover
{
  box-shadow: inset 0 0 0 2px #077ca7;
}

button.link
{
  padding: 0.2rem;
  border: 0px;
  color: #077CA6;
  background-color: transparent;
  font-weight: 400;
  text-decoration: underline;
  text-transform: none;
}

button.link:hover
{
  color: #5CBCE1;
}

button.link:disabled,
button.link:disabled:hover
{
  color: #ccc;
  cursor: default;
}

input[type="text"],
input[type="email"],
textarea
{
  border: 2px solid #077ca7;
  font-size: 1.25rem;
}

input[type="email"]:invalid
{
  border-color: #E00000;
}

input[type="checkbox"],
input[type="radio"]
{
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0px 3px;
  padding: 0px;
  border: 0px;
  background-color: transparent;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type="checkbox"]
{
  background-image: url(icons/checkbox.svg?off#off);
}

input[type="checkbox"]:checked
{
  background-image: url(icons/checkbox.svg?on#on);
}

input[type="radio"]
{
  background-image: url(icons/radio.svg?normal#normal);
}

input[type="radio"]:hover
{
  background-image: url(icons/radio.svg?hover#hover);
}

input[type="radio"]:checked
{
  background-image: url(icons/radio.svg?selected#selected);
}

.modal:not([hidden])
{
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 5rem;
  background-color: rgba(0, 0, 0, 0.5);
}

.modalContent
{
  display: flex;
  overflow: auto;
  flex-direction: column;
  padding: 2rem;
  border: 1px solid #CDCDCD;
  background-color: #FFF;
  flex-grow: 1;
  align-items: flex-end;
}

[aria-hidden="true"]
{
  display: none !important;
}

#notification
{
  display: flex;
  box-sizing: border-box;
  width: 100%;
  padding: 2px;
  opacity: 0.8;
  color: #4A4A4A;
  background-color: #d8d8d8;
  font-size: 1rem;
}

#notification-text
{
  text-align: center;
  flex: 1;
}

.icon
{
  padding: 0px;
  border: 0px;
  background-color: transparent;
}

.icon:hover
{
  box-shadow: none;
}

.icon::before
{
  display: block;
  border: 0.2rem solid transparent;
  background-repeat: no-repeat;
  content: "";
}

.close.icon::before
{
  width: 1rem;
  height: 1rem;
}

.icon.close.tertiary::before
{
  background-image: url(icons/delete.svg?tertiary#tertiary);
}

.icon.close.tertiary:hover::before
{
  background-image: url(icons/delete.svg?tertiary-hover#tertiary-hover);
}

body[data-page="commentPage"] #continue
{
  display: none;
}

#commentPage > label
{
  font-size: 1rem;
  font-weight: 700;
}

#anonymousSubmissionContainer
{
  font-size: 0.9rem;
}

#typeSelectorGroup input[type="radio"],
#anonymousSubmission
{
  vertical-align: top;
}
